package com.ipay.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import org.hibernate.validator.constraints.NotBlank;

import com.ipay.validator.group.AddGroup;
import com.ipay.validator.group.UpdateGroup;

/**
 * 商户资料
 * 
 * @author hacken
 * @email hacken_hu@163.com
 * @date 2017-06-10 15:46:50
 */
public class MerchantInfoEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	private Long merchantId;
	// 商户的微信id
	private String openid;
	/**
	 * 商户号
	 */
	private String merchantNo;

	// 商户申请人的姓名
	@NotBlank(message="联系人不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String username;
	// 商户名
	@NotBlank(message="企业名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String shopName;
	// 用户身份证号码
	@NotBlank(message="企业名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String idCard;
	/** 身份证正面照 **/
	private String positiveImg;
	private String oppositeImg;
	/** 店铺内景照 **/
	private String innerImg;
	/** 店铺门头照 **/
	private String outerImg;
	/** 组织代码编号 **/
	private String orcode;
	// 商户联系电话
	@NotBlank(message="联系人电话不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String mobilephone;
	// 商户证件
	private String license;
	// 银行开户名
	@NotBlank(message="结算账户户名不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String bankUser;
	// 银行卡号
	@NotBlank(message="结算帐号不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String bankCard;
	// 银行名称
	@NotBlank(message="结算账户开户行不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String bankName;
	//店铺联系电话
	private String shopPhone;
	// 商户地址
	@NotBlank(message="企业地址不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String shopAddress;
	//申请人地址
	private String userAddress;
	//
	@NotBlank(message="联系人邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String email;
	//
	private String qq;
	// 商户加入时间
	private Date joinTime;
	// 提交申请时间
	private Date applyTime;
	// 状态：0 申请 1正常 2 冻结 3 挂失
	private Integer status;
	// 商户总金额
	private BigDecimal totalMoney;
	//经营范围
	private String industry;
	// 合作方向1：收款，2 吸粉
	private Integer cooperationDirect;
	// 支付二维码链接
	private String payQRUrl;
	// 收款费率
	private BigDecimal rate;
	/**
	 * 是否支持 信用卡支付， 0 否 1是
	 */
	private Integer iscreditCard;
	// 二维码支付长连接
	private String payUrl;
	// 二维码支付短连接
	private String shortUrl;

	// 支付宝签约汇率
	private BigDecimal alipayExchangeRate;
	// 二维码支付短连接
	private BigDecimal wechatExchangeRate;

	// 商户地址
	private String address;
	// 身份证照片
	private String idcardPhoto;
	// 商户固话
	@NotBlank(message="客服电话不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String telephone;
	//商户简称
	@NotBlank(message="企业简称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String shopAbbreviation;
	//商户logo
	private String logo;
	//父级商户id
	private Long parentMerchantId;
	//父级商户名称
	private String parentShopName;
	//系统用户表登录帐号
	private String loginName;
	
	private String text;//下拉text
	private String value;//下拉value
	
	//新增字段
	@NotBlank(message="法人姓名不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String legalName;	//法人姓名
	private String doorHeadImg;	//店铺门头照
	private String businessLicenseImg;//营业执照
	private String bankLicenseImg;//银行开户许可证
	private String settlementBookImg;//结算授权书
	private String settleUserPositiveImg;//结算人身份证正面
	private String settleUserOppositeImg;//结算人身份证反面
	private String settleBankPositiveImg;//结算人银行卡正面
	private String settleBankOppositeImg;//结算人银行卡反面
	private String sealCardImg;//单位银行结算账户申请书或印鉴卡
	private String payKey;//支付密钥

	/**
	 *
	 * @author lanxiaofang
	 * @date 2017-12-19 17:40
	 * */
	private Integer presentNub;




	public String getPayKey() {
		return payKey;
	}

	public void setPayKey(String payKey) {
		this.payKey = payKey;
	}

	public String getLegalName() {
		return legalName;
	}

	public void setLegalName(String legalName) {
		this.legalName = legalName;
	}

	public String getDoorHeadImg() {
		return doorHeadImg;
	}

	public void setDoorHeadImg(String doorHeadImg) {
		this.doorHeadImg = doorHeadImg;
	}

	public String getBusinessLicenseImg() {
		return businessLicenseImg;
	}

	public void setBusinessLicenseImg(String businessLicenseImg) {
		this.businessLicenseImg = businessLicenseImg;
	}

	public String getBankLicenseImg() {
		return bankLicenseImg;
	}

	public void setBankLicenseImg(String bankLicenseImg) {
		this.bankLicenseImg = bankLicenseImg;
	}

	public String getSettlementBookImg() {
		return settlementBookImg;
	}

	public void setSettlementBookImg(String settlementBookImg) {
		this.settlementBookImg = settlementBookImg;
	}

	public String getSettleUserPositiveImg() {
		return settleUserPositiveImg;
	}

	public void setSettleUserPositiveImg(String settleUserPositiveImg) {
		this.settleUserPositiveImg = settleUserPositiveImg;
	}

	public String getSettleUserOppositeImg() {
		return settleUserOppositeImg;
	}

	public void setSettleUserOppositeImg(String settleUserOppositeImg) {
		this.settleUserOppositeImg = settleUserOppositeImg;
	}

	public String getSettleBankPositiveImg() {
		return settleBankPositiveImg;
	}

	public void setSettleBankPositiveImg(String settleBankPositiveImg) {
		this.settleBankPositiveImg = settleBankPositiveImg;
	}

	public String getSettleBankOppositeImg() {
		return settleBankOppositeImg;
	}

	public void setSettleBankOppositeImg(String settleBankOppositeImg) {
		this.settleBankOppositeImg = settleBankOppositeImg;
	}

	public String getSealCardImg() {
		return sealCardImg;
	}

	public void setSealCardImg(String sealCardImg) {
		this.sealCardImg = sealCardImg;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getParentShopName() {
		return parentShopName;
	}

	public void setParentShopName(String parentShopName) {
		this.parentShopName = parentShopName;
	}

	public Long getParentMerchantId() {
		return parentMerchantId;
	}

	public void setParentMerchantId(Long parentMerchantId) {
		this.parentMerchantId = parentMerchantId;
	}

	public String getLogo() {
		return logo;
	}

	public void setLogo(String logo) {
		this.logo = logo;
	}

	public String getShopAbbreviation() {
		return shopAbbreviation;
	}

	public void setShopAbbreviation(String shopAbbreviation) {
		this.shopAbbreviation = shopAbbreviation;
	}

	/**
	 * 设置：商户的微信id
	 */
	public void setOpenid(String openid) {
		this.openid = openid;
	}

	/**
	 * 获取：商户的微信id
	 */
	public String getOpenid() {
		return openid;
	}

	/**
	 * 设置：商户申请人的姓名
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * 获取：商户申请人的姓名
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * 设置：商户名
	 */
	public void setShopName(String shopName) {
		this.shopName = shopName;
	}

	/**
	 * 获取：商户名
	 */
	public String getShopName() {
		return shopName;
	}

	/**
	 * 设置：商户加入时间
	 */
	public void setJoinTime(Date joinTime) {
		this.joinTime = joinTime;
	}

	/**
	 * 获取：商户加入时间
	 */
	public Date getJoinTime() {
		return joinTime;
	}

	/**
	 * 设置：提交申请时间
	 */
	public void setApplyTime(Date applyTime) {
		this.applyTime = applyTime;
	}

	/**
	 * 获取：提交申请时间
	 */
	public Date getApplyTime() {
		return applyTime;
	}

	/**
	 * 设置：用户身份证号码
	 */
	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	/**
	 * 获取：用户身份证号码
	 */
	public String getIdCard() {
		return idCard;
	}

	/**
	 * 设置：商户地址
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * 获取：商户地址
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * 设置：商户联系电话
	 */
	public void setMobilephone(String mobilephone) {
		this.mobilephone = mobilephone;
	}

	/**
	 * 获取：商户联系电话
	 */
	public String getMobilephone() {
		return mobilephone;
	}

	/**
	 * 设置：银行开户名
	 */
	public void setBankUser(String bankUser) {
		this.bankUser = bankUser;
	}

	/**
	 * 获取：银行开户名
	 */
	public String getBankUser() {
		return bankUser;
	}

	/**
	 * 设置：银行卡号
	 */
	public void setBankCard(String bankCard) {
		this.bankCard = bankCard;
	}

	/**
	 * 获取：银行卡号
	 */
	public String getBankCard() {
		return bankCard;
	}

	/**
	 * 设置：银行名称
	 */
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	/**
	 * 获取：银行名称
	 */
	public String getBankName() {
		return bankName;
	}

	/**
	 * 设置：
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * 获取：
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * 设置：
	 */
	public void setQq(String qq) {
		this.qq = qq;
	}

	/**
	 * 获取：
	 */
	public String getQq() {
		return qq;
	}

	/**
	 * 设置：商户证件
	 */
	public void setLicense(String license) {
		this.license = license;
	}

	/**
	 * 获取：商户证件
	 */
	public String getLicense() {
		return license;
	}

	/**
	 * 设置：身份证照片
	 */
	public void setIdcardPhoto(String idcardPhoto) {
		this.idcardPhoto = idcardPhoto;
	}

	/**
	 * 获取：身份证照片
	 */
	public String getIdcardPhoto() {
		return idcardPhoto;
	}

	/**
	 * 设置：商户固话
	 */
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	/**
	 * 获取：商户固话
	 */
	public String getTelephone() {
		return telephone;
	}

	/**
	 * 设置：商户地址
	 */
	public void setShopAddress(String shopAddress) {
		this.shopAddress = shopAddress;
	}

	/**
	 * 获取：商户地址
	 */
	public String getShopAddress() {
		return shopAddress;
	}

	/**
	 * 设置：商户总金额
	 */
	public void setTotalMoney(BigDecimal totalMoney) {
		this.totalMoney = totalMoney;
	}

	/**
	 * 获取：商户总金额
	 */
	public BigDecimal getTotalMoney() {
		return totalMoney;
	}

	/**
	 * 设置：合作方向1：收款，2 吸粉
	 */
	public void setCooperationDirect(Integer cooperationDirect) {
		this.cooperationDirect = cooperationDirect;
	}

	/**
	 * 获取：合作方向1：收款，2 吸粉
	 */
	public Integer getCooperationDirect() {
		return cooperationDirect;
	}

	/**
	 * 设置：状态：0 申请 1正常 2 冻结 3 挂失
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}

	/**
	 * 获取：状态：1冻结 2挂失
	 */
	public Integer getStatus() {
		return status;
	}

	/**
	 * @return 支付二维码链接
	 */
	public String getPayQRUrl() {
		return payQRUrl;
	}

	/**
	 * @param 设置
	 *            支付二维码链接
	 */
	public void setPayQRUrl(String payQRUrl) {
		this.payQRUrl = payQRUrl;
	}

	/**
	 * 获取 收款费率
	 * 
	 * @return rate rate
	 */
	public BigDecimal getRate() {
		return rate;
	}

	/**
	 * 设置 收款费率
	 * 
	 * @param rate
	 *            rate
	 */
	public void setRate(BigDecimal rate) {
		this.rate = rate;
	}

	/**
	 * 获取 商户号
	 * 
	 * @return merchantNo 商户号
	 */
	public String getMerchantNo() {
		return merchantNo;
	}

	/**
	 * 设置商户号
	 * 
	 * @param merchantNo
	 *            商户号
	 */
	public void setMerchantNo(String merchantNo) {
		this.merchantNo = merchantNo;
	}

	/**
	 * 获取 是否支持信用卡支付，0否1是
	 * 
	 * @return iscreditCard 是否支持信用卡支付，0否1是
	 */
	public Integer getIscreditCard() {
		return iscreditCard;
	}

	/**
	 * 设置是否支持信用卡支付，0否1是
	 * 
	 * @param iscreditCard
	 *            是否支持信用卡支付，0否1是
	 */
	public void setIscreditCard(Integer iscreditCard) {
		this.iscreditCard = iscreditCard;
	}

	/**
	 * 获取 身份证正面照
	 * 
	 * @return positiveImg 身份证正面照
	 */
	public String getPositiveImg() {
		return positiveImg;
	}

	/**
	 * 设置身份证正面照
	 * 
	 * @param positiveImg
	 *            身份证正面照
	 */
	public void setPositiveImg(String positiveImg) {
		this.positiveImg = positiveImg;
	}

	/**
	 * 获取 oppositeImg
	 * 
	 * @return oppositeImg oppositeImg
	 */
	public String getOppositeImg() {
		return oppositeImg;
	}

	/**
	 * 设置oppositeImg
	 * 
	 * @param oppositeImg
	 *            oppositeImg
	 */
	public void setOppositeImg(String oppositeImg) {
		this.oppositeImg = oppositeImg;
	}

	/**
	 * 获取 店铺内景照
	 * 
	 * @return innerImg 店铺内景照
	 */
	public String getInnerImg() {
		return innerImg;
	}

	/**
	 * 设置店铺内景照
	 * 
	 * @param innerImg
	 *            店铺内景照
	 */
	public void setInnerImg(String innerImg) {
		this.innerImg = innerImg;
	}

	/**
	 * 获取 店铺门头照
	 * 
	 * @return outerImg 店铺门头照
	 */
	public String getOuterImg() {
		return outerImg;
	}

	/**
	 * 设置店铺门头照
	 * 
	 * @param outerImg
	 *            店铺门头照
	 */
	public void setOuterImg(String outerImg) {
		this.outerImg = outerImg;
	}

	/**
	 * 获取 组织代码编号
	 * 
	 * @return orcode 组织代码编号
	 */
	public String getOrcode() {
		return orcode;
	}

	/**
	 * 设置组织代码编号
	 * 
	 * @param orcode
	 *            组织代码编号
	 */
	public void setOrcode(String orcode) {
		this.orcode = orcode;
	}

	/**
	 * 获取 二维码支付长链接
	 * 
	 * @return payUrl 二维码支付长链接
	 */
	public String getPayUrl() {
		return payUrl;
	}

	/**
	 * 设置二维码支付长链接
	 * 
	 * @param payUrl
	 *            二维码支付长链接
	 */
	public void setPayUrl(String payUrl) {
		this.payUrl = payUrl;
	}

	/**
	 * 获取 二维码支付短链接
	 * 
	 * @return shortUrl 二维码支付短链接
	 */
	public String getShortUrl() {
		return shortUrl;
	}

	/**
	 * 设置二维码支付短链接
	 * 
	 * @param shortUrl
	 *            二维码支付短链接
	 */
	public void setShortUrl(String shortUrl) {
		this.shortUrl = shortUrl;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public Long getMerchantId() {
		return merchantId;
	}

	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	public String getShopPhone() {
		return shopPhone;
	}

	public void setShopPhone(String shopPhone) {
		this.shopPhone = shopPhone;
	}

	public String getUserAddress() {
		return userAddress;
	}

	public void setUserAddress(String userAddress) {
		this.userAddress = userAddress;
	}

	public String getIndustry() {
		return industry;
	}

	public void setIndustry(String industry) {
		this.industry = industry;
	}

	public BigDecimal getAlipayExchangeRate() {
		return alipayExchangeRate;
	}

	public void setAlipayExchangeRate(BigDecimal alipayExchangeRate) {
		this.alipayExchangeRate = alipayExchangeRate;
	}

	public BigDecimal getWechatExchangeRate() {
		return wechatExchangeRate;
	}

	public void setWechatExchangeRate(BigDecimal wechatExchangeRate) {
		this.wechatExchangeRate = wechatExchangeRate;
	}




	public Integer getPresentNub() {
		return presentNub;
	}

	public void setPresentNub(Integer presentNub) {
		this.presentNub = presentNub;
	}

}
